package org.example.Sort;

import org.example.Tool.Tool;

/**
 * @apiNote
 *    插入排序
 * @implSpec
 * <pre> 时间复杂度 O(n^2)
 空间复杂度 O(1)<pre/>*/
public class InsertSort  extends Tool {
    public void insertsort(int []arr){
        if(Isfail(arr))return;//判断有效性
        Long startTime = System.currentTimeMillis();
        int index = 0;
        for(int i : arr){
            for(int ii=index-1;ii>=0&&arr[ii]>arr[ii+1];ii--){//从后向前搜索，大就换位
                swap(arr,ii,ii+1);
//                arr[ii] = arr[ii]+arr[ii+1];
//                arr[ii+1] = arr[ii]-arr[ii+1];
//                arr[ii] = arr[ii]-arr[ii+1];
            }
            index++;
        }
    }
}
